{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 0
   },
   "source": [
    "# 安装\n",
    ":label:`chap_installation`\n",
    "\n",
    "我们需要配置一个环境来运行 Python、Jupyter Notebook、相关库以及运行本书所需的代码，以快速入门并获得动手学习经验。\n",
    "\n",
    "## 安装 Miniconda\n",
    "\n",
    "最简单的方法就是安装依赖 Python 3.x 的 [Miniconda](https://conda.io/en/latest/miniconda.html)。如果已安装 conda，则可以跳过以下步骤。\n",
    "从网站下载相应的 Miniconda sh 文件，然后使用 `sh <FILENAME> -b` 从命令行执行安装。\n",
    "\n",
    "对于 macOS 用户：\n",
    "\n",
    "```bash\n",
    "# 文件名可能会更改\n",
    "sh Miniconda3-latest-MacOSX-x86_64.sh -b\n",
    "```\n",
    "\n",
    "对于 Linux 用户：\n",
    "\n",
    "```bash\n",
    "# 文件名可能会更改\n",
    "sh Miniconda3-latest-Linux-x86_64.sh -b\n",
    "```\n",
    "\n",
    "接下来，初始化终端 Shell，以便我们可以直接运行 `conda`。\n",
    "\n",
    "```bash\n",
    "~/miniconda3/bin/conda init\n",
    "```\n",
    "\n",
    "现在关闭并重新打开当前的 shell。你应该能用下面的命令创建一个新的环境：\n",
    "\n",
    "```bash\n",
    "conda create --name d2l python=3.8 -y\n",
    "```\n",
    "\n",
    "## 下载 D2L Notebook\n",
    "\n",
    "接下来，需要下载这本书的代码。你可以点击任何 HTML 页面顶部的 “Jupyter 记事本文件” 选项下载后解压代码。或者可以按照如下方式进行下载：\n",
    "\n",
    "```bash\n",
    "mkdir d2l-zh && cd d2l-zh\n",
    "curl https://zh-v2.d2l.ai/d2l-zh.zip -o d2l-zh.zip\n",
    "unzip d2l-zh.zip && rm d2l-zh.zip\n",
    "```\n",
    "\n",
    "注意：如果没有安装 `unzip`，则可以通过运行 `sudo apt install unzip` 进行安装。\n",
    "\n",
    "现在我们要激活 `d2l` 环境。\n",
    "\n",
    "```bash\n",
    "conda activate d2l\n",
    "```\n",
    "\n",
    "## 安装框架和 `d2l` 软件包\n",
    "\n",
    "在安装深度学习框架之前，请先检查你的计算机上是否有可用的 GPU（在笔记本电脑上为显示器提供输出的GPU不算）。如果要在 GPU 机器上安装，请继续在 :ref:`subsec_gpu` 获取有关安装GPU支持版本的说明。\n",
    "\n",
    "或者，你可以按照如下方法安装CPU版本。这将足够帮助你完成前几章，但你需要在运行更大模型之前获取GPU。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 2,
    "tab": [
     "pytorch"
    ]
   },
   "source": [
    "```bash\n",
    "pip install torch torchvision\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 4
   },
   "source": [
    "你还需要安装 `d2l` 软件包，它封装了本书中常用的函数和类。\n",
    "\n",
    "```bash\n",
    "# -U：将所有包升级到最新的可用版本\n",
    "pip install -U d2l\n",
    "```\n",
    "\n",
    "安装完成后，我们通过运行以下命令打开 Jupyter 笔记本：\n",
    "\n",
    "```bash\n",
    "jupyter notebook\n",
    "```\n",
    "\n",
    "现在，你可以在 Web 浏览器中打开 <http://localhost:8888>（通常会自动打开）。然后我们可以运行这本书中每个部分的代码。在运行书籍代码、更新深度学习框架或 `d2l` 软件包之前，请始终执行 `conda activate d2l` 以激活运行时环境。要退出环境，请运行 `conda deactivate`。\n",
    "\n",
    "## GPU 支持\n",
    ":label:`subsec_gpu`\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 6,
    "tab": [
     "pytorch"
    ]
   },
   "source": [
    "默认情况下，深度学习框架安装了GPU支持。\n",
    "如果你的计算机有NVIDIA GPU，并且已经安装了[CUDA](https://developer.nvidia.com/cuda-downloads)，那么你应该已经配置好了。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 7
   },
   "source": [
    "## 练习\n",
    "\n",
    "1. 下载该书的代码并安装运行时环境。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "origin_pos": 9,
    "tab": [
     "pytorch"
    ]
   },
   "source": [
    "[Discussions](https://discuss.d2l.ai/t/2083)\n"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}